package com.guigu.gulicart.feign;

import com.guigu.gulicommon.entity.dto.SelectSkuInfoPagesDto;
import com.guigu.gulicommon.entity.pojo.res.Res;
import com.guigu.gulicommon.entity.vo.SkuInfoPageVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;


/**
 * 商品服务远程调用客户端
 *
 * @author 陈俊杰
 * @version 1.0
 * @since 2024/9/23 10:23
 */
@FeignClient(name = "gateway-server", path = "/api/product", contextId = "ProductServer")
public interface ProductServer {
    /**
     * 分页查询商品信息详情信息(通用)
     *
     * @param pagesDto 查询商品信息的参数
     * @return vo 商品信息详情的分页
     */
    @GetMapping("/sku-info/pages")
    Res<SkuInfoPageVo> findPages(@SpringQueryMap SelectSkuInfoPagesDto pagesDto);

    /**
     * 根据SkuId获取销售属性组合
     *
     * @param skuId skuId
     * @return spu销售属性组合
     */
    @GetMapping("/sku-sale-attr-value/attr-list")
    Res<String> getAttrsListBySkuId(@RequestParam("skuId") Long skuId);
}
